1. Field of the Invention
The present invention relates generally to the transmission of multimedia content on a computer network and more particularly to a multimedia content delivery system and method that maximizes the efficiency of network bandwidth consumption through selective multicasting of the multimedia.
2. Background of the Invention
Multicasting is a communication pattern in which a source host sends a message to a group of destination hosts. Although this can be done by sending unicast (point-to-point) messages to each of the destination hosts, the added consumption of bandwidth and processing power required to establish connections to the destination hosts make unicasting undesirable in this situation. Accordingly, the primary advantage of using multicasting is the decrease in bandwidth consumption. There are many applications which are required to transmit packets to hundreds of destination hosts. The packets sent to these destination hosts share a group of links on their paths to their destinations. Since multicasting requires the transmission of only a single packet by the source host and replicates this packet only as necessary (i.e. at forks of the multicast delivery tree), multicast transmission can conserve scarce network resources.
Another important feature of multicasting, and with which the present application is concerned, is its support for “datacasting” applications. In recent years, multimedia transmission over the internet has become increasingly popular. These transmissions are also referred to as “webcasts”, “audiocasts”, “videocasts”, “podcasts” and other fanciful terms depending on the type of the multimedia content. Most popular is the capture, compression and transmission of audio and video signals from a server to a group of receiving clients. Instead of using a set of point-to-point connections between the participating clients, multicasting can be used to efficiently distribute the multimedia content to all of the clients. Frequently, clients may join or leave an audiocast or a videocast at any time. The flexibility in joining and leaving a group provided by multicasting can make the management of the variable membership much easier to handle. However, current systems that multicast or broadcast multimedia content, broadcast all of the content all of the time regardless of whether clients are requesting the content or not. In this respect, datacasts are comparable to a radio stations or a television stations, which broadcast radio or television signals, respectively, regardless if anybody is listening or watching. On the internet, however, this type of broadcasting-in-the-blind can lead to inefficient use of scarce network resources at best and to severe network congestion at worst. Therefore, there is a need for a multimedia system that can selectively multicast its streaming content based on client usage or requests.